Enterprises generate and store increasingly vast amounts of data. Techniques used to store these vast amounts of data include data compression, which is a procedure that encodes information using less storage space than the original representation of the information. Data compression enables better storage efficiency, and reduces the amount of data written to persistent storage (such as a volume, a volume pool, a data structure, a storage area network, a network attached storage, a cloud storage, or a file system) which may be important in prolonging the lifespan of the persistent storage. Since implementing data compression usually causes a negative impact on a data-accessing system's performance, optimal system design considers relevant factors, such as which data should be compressed in persistent storage.
An example of a data compression technique is data deduplication, which reduces storage needs and network transfer size by eliminating duplicate copies of repeating data. A backup/restore application is one example in which data stored by a client device is de-duplicated. If a software error corrupts a data object, or if erroneous data updates the data object, a data protection administrator may restore the data object to a previous state that does not include the corrupted or erroneous data. A backup/restore application executes a backup operation either occasionally or continuously to enable this restoration, storing a copy of each desired data object state (such as the values of data and these values' embedding in a database's data structures) within dedicated backup files. Data deduplication significantly reduces backup time by only storing unique periodic changes, while maintaining full backups for restoration. The transmission of a de-duplicated backup sends only changed data, thereby reducing network traffic. When the data protection administrator decides to return a data object to a previous state, the data protection administrator specifies the desired previous state by identifying a desired point in time when the data object was in this state, and instructs the backup/restore application to execute a restore operation to restore a copy of the corresponding backup files for that state to the data object.
A data object may be stored on a storage array, which is a disk storage system that includes multiple disk drives. Unlike a disk enclosure, a storage array has cache memory and advanced functionality, such as virtualization and Redundant Array of Independent Disks (RAID). A data protection administrator may manage a backup/restore application to create backups files of data objects and store the backup files of data objects on multiple storage arrays.